:root {
  --nprogress-color: #29d;
  --nprogress-height: 2px;
  --nprogress-spinner-opacity: 1;
  --nprogress-spinner-size: 18px;
  --nprogress-spinner-stroke-width: 2px;
}

#nprogress {
  /* Make clicks pass-through */
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;
  background: var(--nprogress-color);
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  height: var(--nprogress-height);
}

/* Glow effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  box-shadow: 0 0 10px var(--nprogress-color), 0 0 5px var(--nprogress-color);
  opacity: 1;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
  -ms-transform: rotate(3deg) translate(0px, -4px);
  transform: rotate(3deg) translate(0px, -4px);
}

/* Spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
  opacity: var(--nprogress-spinner-opacity);
}

#nprogress .spinner-icon {
  width: 18px;
  width: var(--nprogress-spinner-size);
  height: 18px;
  height: var(--nprogress-spinner-size);
  box-sizing: border-box;
  border: solid 2px transparent;
  border: solid var(--nprogress-spinner-stroke-width) transparent;
  border-top-color: #29d;
  border-top-color: var(--nprogress-color);
  border-left-color: #29d;
  border-left-color: var(--nprogress-color);
  border-radius: 50%;
  -webkit-animation: nprogress-spinner 400ms linear infinite;
  animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes nprogress-spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
